The development of various types of data sources, and various types of systems and databases for managing and storing such data sources, has led to the development of mechanisms for querying the data contained therein. Such querying often involves specifying a subset of data to be accessed from the data source, or for updating the data source in various ways, such as inserting new data and modifying the schema of the data source. The queries are often handled by a query evaluating system, which evaluates the query to determine the actions to be taken, applies the evaluated query against one or more data sources, and returns the results of the applied query to the client.
Many languages have been developed for specifying the details of a query to be applied against a data source. A query evaluation system is ordinarily configured to evaluate the query according to the query language, and, upon failing to evaluate the query according to the query language, to return an error message indicating the syntactic or lexical problem with the query. Some systems are also available for evaluating a query in any of several languages, and even a query having a first portion in a first language and a second portion in a second language.